package com.huaiwei.usmManager.modules.usm.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.huaiwei.usmManager.common.utils.PageUtils;
import com.huaiwei.usmManager.modules.usm.entity.*;

import java.util.List;
import java.util.Map;

public interface GoodsService extends IService<GoodsEntity> {
//    分页
    PageUtils getPage(Map<String,Object> params);
//    根据goodsId查询对应的typeList
    List<TypeEntity> getTypeListByGoodsId(Integer goodsId);
//    根据goodsId查询对应resourceList
    List<ResourceEntity> getResourceListByGoodsId(Integer goodsId);
//    根据prospecId查询对应的规格名
    String getProSpecNameByProspecId(Integer prospecId);
//    根据cabinetId查询相应的店铺信息
    String getMessageByCabinetId(Integer cabinetId);
//    根据goodsId查询相应的销售信息(分页)
    PageUtils getSalesByGoodsId(Integer goodsId,Map<String,Object> params);
//    级联查询-查询所有的shop
    List<ShopEntity> getAllShop();
//    级联查询-根据shopId查询所属的展示柜id
    List<CabinetEntity> getAllCabinetByShopId(Integer shopId);
//    下拉框-查询所有的规格
    List<GoodsSpecEntity> getAllSpec();
//    下拉框—查询所有的type
    List<TypeEntity> getAllType();
//    插入一条规格记录
    void insertProspec(GoodsSpecEntity goodsSpecEntity);
//    首页报表-销售商品数量前五榜
    List<Top10Entity> getTopSales();
//    首页报表-商铺销售数量前五榜
    List<ShopTop5Entity> getTopShop();
//    根据goodsId查询所有信息
    GoodsEntity getInfoByGoodsId(Integer goodsId);
//    插入商品
    void insertOrUpdate(GoodsEntity goodsEntity);
//    删除商品
    void deleteInfo(Integer goodsId);

}
